Opera with extensions: Now can it replace Firefox?
What defines a platform - any platform - in today's market, is apps. If you have apps, you're on the map. If you don't have apps, you're webOS.
It's here where Opera Software, whose Opera browser has the smallest usage share of the world's top five, has an unprecedented opportunity to cash in. Last year at this time, while its Opera 9 browser performed like a Chrysler K-car at a demolition derby, it premiered an overwhelmingly improved Opera 10.5, literally gift-wrapped with gold and tinsel for the holidays. Goodbye, K-car; hello, Ram pickup. Within just a few weeks, the brand of browser that was facing obsolescence, lagging behind Google Chrome by as much as 600%, was beating Chrome handily.
Just since that time, the performance of development builds of all brands of browsers has at least tripled - in Microsoft's case, quadrupled with IE9. Competition in this market for free software has exploded to such an extent that not even Gordon Moore would be able to write a law that governs it. So today, a statement made back in February 2009 by Opera developer Jens Lindström appears more prophetic than it did at the time:
The precise extent to which Opera is able to compile "whole or parts" of JS programs is something the company doesn't publicly talk about or publicize. Unlike Firefox, Chrome, or the WebKit engine of Safari, Opera is not open source (though it does contain elements that are, and which Opera Software redistributes under open source licenses). So when Opera's performance improves by double-digit factors, it's literally a surprise to everyone outside of the company's headquarters in Oslo, Norway.
What appears to be happening (which no one at Opera Software, in discussions with me, will confirm or deny) is that the latest build of its JS engine is pre-compiling library code in larger chunks, into native code. Since JS libraries are built intentionally to be reused, the newest Opera appears to be optimizing the runtime speed of those libraries by simply caching their native code in memory and refraining from recompiling them with each reuse.
It's the type of speed jump that one might think would mandate a point release rather than just a refresh. And just as I was about to make that point in an article, Opera beat me to the punch. Starting last Thursday, its alpha builds of the next Opera browser were dubbed Opera 11.
Google has made no secret about its intention to elevate Chrome to the platform level, marketing at least the idea (certainly not the hardware yet) of Chrome as an operating system. To do that, it opened up that browser to extensibility, at least in typical Google fashion - giving "Chrome apps" a single button on an exclusive bar in the browser. For Opera to compete, it not only needs to accommodate "Opera apps" in the engine. It needs to make them accessible through the browser. . . which to date has been something Opera Software is a little touchy about.
"We've supported widgets for a while now, and we've gone through the process of creating a platform for widgets that works, from a speed and a security perspective. We've opened up the technology and made widgets into Web standards," stated Arnstein Teigene, Opera's extensions product manager, in an interview with Net1News. "We've taken a lot of that knowledge and applied that to extensions. So we're inviting people to extend the browser. Widgets tend to live outside of the browser; but now people can develop stuff that sit right inside the browser, which we think is really great from an end user perspective. Of course, you have to be a little bit careful in terms of how you implement it, security- and speed-wise."
Opera has "supported" extensibility in the past, in the way that a toddler "supports" a hot bathtub by sticking just his toes in it and waiting until past midnight to jump in. Back in 2006 with Opera 8, the company implemented a concept it called UserJS (a concept simultaneously tried with a Firefox extension called Greasemonkey). Here, scripts could be set up on the client side to supplement or even override scripts supplied by a Web site, theoretically improving the functionality of existing sites and services. One such UserJS script still seeing action today among Opera users is Autosizer 2 by Arve Bersvendsen, which can effectively make any Web site's display of images into a resizable gallery. It's a useful utility, but one that needs upgrading with almost every new release of Opera, as the company's forums indicate.
There is a kind of UserJS community, but it's based around just a few scripts, and most of the activity seems comprised of users pleading for help. Meanwhile, on a separate development track but also beginning in 2006, Opera enabled the deployment of what it called widgets. Like extensions, they used Opera's JS engine; but unlike extensions at all, they ran outside the browser, and were intended instead to complement the desktop, like Windows Sidebar gadgets. Opera has tried to cultivate a development community around widgets, but as Microsoft itself discovered during the Vista period, just how many clock gadgets, slideshow panes, and network activity meters can a thriving community be expected to produce?
Next: Extensions to what extent?
©Copyright 2010 Ingenus, LLC.
©Copyright 2010 BetaNews, Inc.