APPLICATIONS RUNNING IN BROWSERS can offer the same user experience as those running natively on mobile devices, according to the developer of the Opera web browser.
"Look at what they are adding to the browser. They are adding rich graphical capabilities. They are adding hardware-accelerated graphics...The modern browser can do anything you can do natively on the device," Opera co-founder Jon von Tetzchner said at the Open Mobile Summit in London.
He was addressing one of the central themes of the conference, which was how to get developers to shift focus from the upstart Apple market and create applications for the traditional multi-platform mobile phone industry.
The issue is not simply that each application has to be ported to several different platforms, but also that each has to be tested extensively on all the various target devices.
Von Tetzchner argued that the problem can be eliminated by developing applications that run in the browser, which is inherently cross-platform. He pointed out that native applications inevitably cannot address the entire potential market.
Browsers also allow people to use their old familiar applications when they switch devices, whereas they might have to buy new versions of software designed to run natively.
But others argued that the web browser is still not quite up to the task and that applications written for it tend to exploit only the lowest common denominator of functionality. Robin Ashton, commercial director of ESPN Digital Media said, "If we develop for a device we have to develop the best possible user experience for that device. It's what users expect."
He also argued that Apple is simply better at selling applications because it has established a strong commercial relationship with its customers. "People with an Iphone are used to buying from Apple," he said.
Von Tetzchner, in an earlier discussion, also pointed out that, unlike Apple, his Opera web browser supports Adobe's Flash. "It is the only proprietory web technology we support," he said.
He agreed that the open HTML5 standard is the way forward for the web in the longer term but he was also confident that Adobe will develop tools to exploit it. µ
Native apps do provide better UX as compared to wrapper (browser based) apps. The need is a HCD approach by leveraging device specific capabilities (camera,gps etc) of each platform. The challenge lies in developing true native apps through a single code base and eliminate the lowest common denominator approach. Call it 'Write Once Run Everywhere'. Most organizations prefer browser apps to eliminate the pain of developing native apps for each platform.
Those are very academic arguments, and have little bearing on the user's experience especially in the context of browser applications.
Why do people even mention parsing? Parsing, is a one-off overhead that has virtually no effect after the interpreter has converted the scripts into internal structures. A javascript engine such as Google's V8 will transform the script into machine code that is extremely fast, and runs at near native speeds which is usually more than sufficient for most applications, as computers rarely use all their processing power. Google even provides general processing benchmarks to compare the interpreter's speed over native applications; the difference is there, but would not be noticeable for most applications. "Heavy lifting" operations (3D graphics, etc.) can be offloaded to dedicated hardware, in the same manner as native apps.
The "snap" of an application is also more related to how fast the connection is, rather than the ability of the browser to render the information. In some cases it may even be faster to use the browser-based application as one can utilize the server's processing power rather than the local system's (sorting through emails, etc. for example).
@BB: Given the choice between a fairly responsive javascripted web app and another app that is functionally identical but implemented in a compiled language, I'd go for the compiled one. It will perform better as there's no overhead to parse or run it in an interperater. While it's true that UX != performance, it is also true that a snappy app is going to have a better UX than a sluggish one.
Reading comprehension. The key words are "user experience" here, not scripted vs native performance. With browsers using scripting engines such as Google's V8 which dynamically compiles the scripts into machine code, operations are extremely fast. Browsers are also supporting hardware acceleration and other graphics that don't require a plugin like in the old days.
Plus, with many phones running on Java or requiring the use of virtual machines for security purposes, code is not executing any more "natively" anyway.
At the end of the day, it's still running on a very text-heavy markup language which needs parsing to work. It's never going to be as good as native. It might get good, but never as good as native.