Developers › Choose Opera

Will Opera ever support extensions like Firefox?

April 28, 2009 · by Jon S. von Tetzchner

We have chosen to focus more on including most of the important functionality and providing extensions through Widgets and UserJS. Opera thus comes with a lot of functionality that you need extensions in other browsers for. However, I would not be surprised if we add more ways to extend Opera in the future.

Readers' comments 26

Left under the original article, as archived.

  • lucideerTuesday, April 28, 2009 1:08:18 PM

    :yes:

    This is just the answer I was hoping for. Word for word.
  • AriesptnTuesday, April 28, 2009 1:39:48 PM

    :yes: :up:
    Widgets and UserJS is enough.
    I love the widgets.
  • Martin RauscherTuesday, April 28, 2009 1:47:43 PM

    Originally posted by Jon:

    However, I would not be surprised if we add more ways to extend Opera in the future.


    So, not in Opera 10?
  • lucideerTuesday, April 28, 2009 2:12:49 PM

    Originally posted by Hades32:

    not in Opera 10?


    I got "never" from reading that. Unless you count "more ways to extend Opera" as extensions. In which case you could count UserJS as extensions. Which they technically are, just slightly limited extensions at the minute.
  • lucideerTuesday, April 28, 2009 2:29:24 PM

    Originally posted by WayOfTheBastard:

    You got "never" from reading "more ways to extend Opera"?


    No I got it from the general jist of the entire post. Not necessarily "never", more "it's not planned".

    Things like

    Originally posted by Jon:

    We have chosen to focus more on...


    Originally posted by Jon:

    you need extensions in other browsers



    Remember he's replying to a question that very specifically ends with "like Firefox". Not something I'd ever like to see in Opera's extensibility personally.
  • lucideerTuesday, April 28, 2009 2:43:27 PM

    My point was that he said "I would not be surprised if we add more ways to extend Opera". He did not say "I would not be surprised if we add support for extensions like Firefox" - from the rest of the post, it sounds like the latter will not happen.
  • KarenTuesday, April 28, 2009 3:17:16 PM

    Ugh...how dare they use the words "Opera" and "Firefox" in the same sentence? It taints Opera. :shudder:

  • lucideerTuesday, April 28, 2009 4:48:54 PM

    Originally posted by WayOfTheBastard:

    So "never" is because he didn't specifically mention Firefox? Silly.


    Did I say that? I don't think so.
  • _Grey_Tuesday, April 28, 2009 6:54:37 PM

    I also think it means "it's not planned". I don't think that's bad, though. At the moment, extensions don't seem important to me or the public at large.

    If every browser had extensions, and/or users became very, very reliant on those, I think Opera would be more open to it. I mean a lot of users, though. Think of the amount of users an extension would get if MySpace decided to require a specific extension for "advanced" but neat functionality. (That's of course a non-issue, since they're more likely to use flash in that case. Just to give you an idea of numbers)
  • CharlesTuesday, April 28, 2009 9:38:52 PM

    In which case you could count UserJS as extensions. Which they technically are, just slightly limited extensions at the minute.



    No, they are very different. Very, very different. Extensions use XUL and Javascript. They allow you to build entire applications inside Firefox with GUI, access to the local HDD to store a local sqlite database, etc... You can't do that with user scripts!

    For instance, take FireFTP, a neat FTP client inside Firefox. How would you develop a neat extension like it in Opera? Most Firefox extensions are not available as features by default in Opera, and you can't create them either using widgets/user scripts. Another example is AdBlock Plus'GUI. You can't build an application GUI like that in Opera using widgets and user scripts.

    Opera's framework for developers is TOO limited. That's sad.
  • _Grey_Tuesday, April 28, 2009 11:06:26 PM

    @WayOfTheBastard: Thankfully, we don't have to agree :smile:
  • joshasWednesday, April 29, 2009 9:43:45 AM

    Opera doesn't need extensions, it is perfect as it is.
  • CharlesWednesday, April 29, 2009 11:18:01 AM

    @joshas: Read my post above :smile:
  • lucideerWednesday, April 29, 2009 12:19:22 PM

    Originally posted by calande:

    No, they are very different. Very, very different. Extensions use XUL and Javascript.


    Reread what you quoted me on - you'll notice I used the word "limited". UserJS currently has no XDomainXHR, File I/O, settings access, UI access. The first two are in widgets, and the third has interfaces available for it already - they're just restricted to the operaconfig window currently. Other than that, we're only missing UI access.

    Originally posted by calande:

    You can't build an application GUI like that in Opera using widgets and user scripts.


    Why not? Look at Dragonfly. Look at this. Of course you can - you are only limited by your own imagination.
  • Павел МалохатькоWednesday, April 29, 2009 10:06:47 PM

    IMHO, opera has so many functions that extensions its simply not needed. Extensions will only hamper! It's cool that Opera Software has no plans to them. :-)
  • CharlesFriday, May 1, 2009 11:15:47 AM

    @lucideer: I am only waiting for the Opera team to document all these proprietary implementations so that we can build extension GUIs. Otherwise it remains at the state of experiments, pretty much like current Chrome extensions. If you are able to create a GUI like the Clippings or ABP extensions for Opera, with access to the local file system, please let me see! I'm not just limited by my imagination.
  • lucideerFriday, May 1, 2009 11:40:54 AM

    Originally posted by calande:

    I am only waiting for the Opera team to document all these proprietary implementations


    If you're talking about Scope, the documentation is currently a work in progress afaik as it's still in alpha, but there's beginnings of it here.

    Originally posted by calande:

    If you are able to create a GUI


    You can access all of Opera's skin elements via CSS with the proprietary -o-skin properties and values:

    From the skin.ini file, take any section header, for example "[Toolbar Button Skin.hover]" and you can use it in CSS like "background:-o-skin('Toolbar Button Skin.hover');", or take an icon name like "background:-o-skin('Go to homepage');". You can accompany that background property with "width:-o-skin;height:-o-skin;" if you want to inherit the skin element size. So you can create a html/css UI that matches Opera's chrome. The chrome:// protocol is used in a similar manner in Firefox's extensions.

    Originally posted by calande:

    with access to the local file system


    Unfortunately, this isn't yet possible. It's right up near the top of my wishlist.
  • CharlesFriday, May 1, 2009 5:50:45 PM

    @lucideer: Another Firefox extension that comes to mind is the user-agent switcher. You currently can't build such an extension in Opera (even if Opera provides a limited feature to identify or mask as a different user-agent).

    Same for FireFTP. We just don't have the required development framework :sad:
  • lucideerFriday, May 1, 2009 5:59:23 PM

    Originally posted by calande:

    We just don't have the required development framework


    Originally posted by lucideer:

    slightly limited extensions


    I always found FireFTP limited in the same way Opera's torrent client is. I use a dedicated client, or don't bother at all. User-agent switcher is something I'd love to see, but it's not high enough on my wishlist to be considered urgent, so I can wait until they decide to implement it.

    Basically what I'm saying is, with very little addition to Opera's current functionality, without any drastic change to its framework, you can get much of the extensibility that's possible. There are a few things that wouldn't be possible, but I wouldn't consider them crucial.
  • rektideThursday, May 28, 2009 7:19:11 AM

    Opera will eventually have to adapt; the question is how to do so in a way that leverages, grows and enhances the web, and enhances Opera.

    Opera already pioneered one expansion of the web with widgets. Widgets are effectively stand alone web pages, self contained sites that run in their own context.

    Recently, Chrome has leveraged a very similar concept in rolling out its own extensions. Chrome extensions are self contained web sites, much like widgets, with one noticable difference: they have access to a small API that describes and controls what the browser is doing. The api itself is very very small; for the most part the extension is defined by the zip file of .html, .css, .js, .png and .svg resources you'd see anywhere on the web, or in any Opera Widget. The few small hooks into the browser the extension API provides are all thats needed to let users use the web to enhance their web browser.

    Opera, this is not a challenge you'll be able to deny forever. You've shown your dedication to web technology by pioneering widgets, and you should take that example forwards as you begin developing extensions. Chrome extensions are another wonderful example of how to leverage web technology, how providing a little bit more can go very far, and its my hope you'll consider their small yet powerful browser API as you figure out what Opera needs to do to become extensible.
  • CharlesThursday, May 28, 2009 8:42:40 AM

    @rektide: No, chrome extensions are *very* different from Opera widgets. Opera widgets are true embedded applications that use the Chrome Extension API. They are definitely not self-contained web sites (check out these Chrome extensions: Bookmark Synchronizer, AdSweep, Gmail notifier). You can't do that with widgets: http://dev.chromium.org/developers/design-documents/extensions/samples
    Opera won't be able to refuse an extension API forever.

    More info: http://dev.chromium.org/developers/design-documents/extensions
  • CharlesThursday, May 28, 2009 1:20:52 PM

    @WayOfTheBastard: Calm down :wink:
  • rektideSaturday, May 30, 2009 11:11:42 PM

    @calande:
    the use cases of widgets and Chrome extensions are obviously very different, but it ought be obvious their construction technology and philosophy run in complete parallel to one another: both are a package of standard web content, driven by standard web specs, guided by a manifest.

    yes the rendering context and use cases are totally different, but from a programmers perspective, they're both addons running entirely via web technology.
  • CharlesTuesday, June 2, 2009 7:53:48 AM

    XUL isn't a web technology (in Firefox).
  • rektideTuesday, June 9, 2009 4:02:28 PM

    I was referring to Chrome/Chromium; I have not referenced Firefox in this thread. Chrome does use web technology for its Extensions.
  • Michael MarreroSunday, September 19, 2010 3:50:40 AM

    I still hope for the day you add extensions.

About this article

Published inChoose Opera
DateApril 28, 2009
AuthorJon S. von Tetzchner
OriginalInternet Archive