Plugins, Addins, Extensions, oh my!

We are hard at work on the next generation of Banshee, and I’ll be posting details and juicy screencasts and screenshots soon. What I’m curious about now is what we should call Plugins in our UI. We use Mono.Addins in trunk now, and I have been thinking about renaming Plugins in the UI to something else, such as Extensions. My first thought was, “what does everyone else use?”

That wasn’t so helpful:

  • Banshee, Totem, gedit: Plugins
  • F-Spot, Epiphany, Firefox: Extensions
  • Tomboy: Add-ins

While this is just a small sampling of GNOME applications I thought of in 30 seconds, by far I think Tomboy loses. Add-ins, especially hyphenated, is weird. Note that Firefox seems to mix Extensions and Add-ons. Extra weird.

So the vote is between keeping it Plugins or switching to Extensions. I don’t care either way, but it would be nice to settle on some consistency within GNOME. Or maybe it doesn’t matter. Just a thought.

Some other names we have thought of include: Plugstensions, Bundleups, Snap-Ins, Snap-Ons, and snorp even recommended Butt-Plugs, but I don’t want to think too far into that one. I am sure Strap-Ons was in the running at some point too.

This is where you leave your €0.02. I hope it gets philosophical.

UPDATE: It seems like Extensions wins. Bugs filed against Totem, gedit, Rhythmbox, Tomboy, MonoDevelop, and Banshee. Other applications I’ve run across are already using Extensions, like F-Spot and Epiphany.

38 Replies to “Plugins, Addins, Extensions, oh my!”

  1. I prefer the term “Extensions” because it conveys icing on the cake, not base functionality. That’s because of I’m steeped in Netscape/Firefox terminology: plugins provide necessary functionality that for some reason isn’t integrated (Quicktime movies, embedded audio files, and Flash games all require plugins), and extensions build on base functionality.

    And I concur: “Add-[io]ns” is the most Microsoft-marketing-term-y of the three.

  2. Firefox uses “add-ons” pretty consistently on trunk now, and that was a deliberate move.

    This is really time to get something on freedesktop and get everyone involved. The current situation is egrecious.

    – Chris

  3. (for what it’s worth, I think “extensions” is good primarily because it’s the only one not subject to random hyphenation, but it’s still a pretty awkward word for most people.)

  4. There is certainly a niche market for using strap-ons and butt-plugs.

    Would bolt-ons not be suitable? One would bolt-on the extra function to the core product, you could even have a funky logo for the sub-site listing all the bolt-ons. For that matter you could use extras, not that appealing though.

  5. Don’t forget MonoDevelop in that list. ;-) We picked “add-ins” for Tomboy because we were trying to play along with the Mono.Addins terminology, which I guess we expected would be adopted by F-Spot and other Mono.Addins users. But that hasn’t really been the case.

    Should we maybe discuss this with Lluis, Larry, and anyone else using Mono.Addins? It would be nice if we could have some consistency, I think. I’m not partial to any name (though I do kind of dislike “add-ins”).

  6. Just to clarify…I do think it would be best if GNOME as a whole picked a terminology…but since the pool of Mono.Addins users is small right now, it should be easier to start there.

  7. I vote for Extensions. In Italian you can’t really translate plugin, thus one has got to let it untraslated. Every time I use the word “plugin” I have to spend 5 min explaining it. So, besides being very culturally insensitive, it’s time consuming as well.

  8. @Sandy: I think Mono.Addins is a great name for the underlying technology, but I do not think it’s a good name to expose to users. It’s too confusing for one: is it add-ins, addins, or even add-ons, or addons. I also think it conveys just slapping on some extra functionality, not extending what an application can do. Maybe it’s a moot point.

    Considering that Tomboy is the only GNOME application using Add-ins, I’d suggest either everyone move to Plugins or Extensions, with my personal preference leaning towards Extensions. Plugins can suffer from the same hyphenization problem, but generally I think people are just more used to Plugins not being hyphenated. Extensions is the least confusing.

    I still can’t help but think I’m reading too far into this though.

  9. It’s not just the name that is incosistent between GNOME applications, but the interface to manage them as well. I started a thread a long time ago on ddl about this but nothing come of it.

    What should be done IMO is to ask the GNOME Documentation team to make a decision on the name, and the usability team to make a decision on the interface, and then file bugs against all modules that are incosistent.

  10. The important thing is consistency, I totally agree with that. Whatever is chosen doesn’t much matter. Anyone have a coin and the authority to pick? Heads for Extensions, tails for Plugins…

  11. @Alessandro: great point about localization. -1 for Plugins, +1 for Extensions.

    @Evandro: I would like to see a somewhat consistent UI for managing extensions, but I would not want to see it turn into some obscure GNOME library, dialog in GTK+, etc. I think a reasonable set of guidelines with some mockups is all that would be necessary. Something like an attachment to the HIG.

  12. @Aaron: Just filed a Tomboy bug [1] for this. We already confused users by switching from plugin to addin…not sure if we’d be better off reverting to plugin or using extension as you suggest.

    @Evandro: There is some reusable UI in the Mono.Addins framework that some projects use. I agree with Aaron that HIG guidelines would be better than a one-size-fits-nobody widget library.

    [1] http://bugzilla.gnome.org/show_bug.cgi?id=496912

  13. This argument is interesting and I would agree that consistent naming is important across the applications.

    If memory serves “Plugin” seems to be the older more common term used in the past. Extensions and Add-ins are somewhat new.

    Basing a specific language as the reason for picking the English term sounds somewhat unreasonable as well. In the worst case you could pick a term in your target language and remain consistent in the translation.

    Looking at the definition of the words in the dictionary, in the context of software you could either use “Plugin” or “Extension”. Are you extending a specific feature in the program, or are you adding completely new functionality within the program? It seems like the differences are a gray area in some cases. Maybe it would be better to adopt “Plugin” since I recall more applications outside GNOME use this term and plugin seems to be a more natural part of the vocabulary (just as “googling” has replaced “searching”).

    I’m not mentioning “Add-ins” because we had enough terms with plugins and extensions and I honestly see no reason for a third one that as you mentioned requires a “-“.

    Again, maybe we should take a look at more common GTK applications and see what they use and go with the majority?

  14. Some observations for moving forward:

    a) There seems to be complete agreement that Add-ins, Add-ons, or anything that could be hyphenized is out of the question. Looks funny too.

    b) That pretty much leaves us with “Extensions” and “Plugins.”

    c) “Extensions” seems to be best suited for internationalization, and you can’t really mess it up (I’d love to see someone spell it Exten-sions). “Plugins” degrades across cultural boundaries. That said, I don’t think getting into a deep analysis of the vague differences between Extensions and Plugins is necessary. For all intents and purposes, they convey the same thing.

    So I propose “Extensions” and will file bugs accordingly.

  15. There is a good reason why Firefox doesn’t use the word “plugin” for this kind of thing: that name was already taken in the context of web browsers for things handling embedded content (flash, pdf, etc).

    So if you choose to use “plugin”, you most likely won’t be able to get cross desktop naming consistency.

  16. I like “Extensions” as well, conveys the meaning clearly and Plugins is an old and overused term, time for something new. And Firefox’s use of Add-ons is legitimate, as it’s used as the umbrella term for both Extensions and Themes (and Language Packs in Firefox 2 at least), which makes sense to me anyway.

  17. One more vote for “extensions”. Users can understand this term easily.

    It is funny to see that except Addins, Addons, and Plugins, there are also “experts” and “wizards” for Delphi IDE.

    But for our developers, I believe using Plugins is best because Martin Fowler uses this term already in his book PEAA,

    http://martinfowler.com/eaaCatalog/plugin.html

  18. After reading the discussions again I give my vote for “Extensions” as well as it seems to be a more appropriate words, regardless of past history.

    Now there is some fun cleaning up to do in all apps :). Think of the wonderful “Xtns” Menu in GIMP with with the “Plug-In Browser” menu item, or Anjutas Settings->Plugins. Lots of bugs and lots of fun!

  19. Hi,

    I also have the feeling that “Extensions” describe more the user point of view: “I want to extend this app”, where as “Plugin” sounds more like a programmer’s point of view: “I want to plug in some more code”. But I may be wrong here, as I’m not a native speaker …

    Rgds,
    Daniel

  20. November 14th, 2007 at 9:27 pm, Staz says:
    > Extensions !
    > Less work for the French translation team ;)

    Agreed :)
    Developers know what every term means so I think it’s not really an issue here.

  21. Also “Extensions” is more translator-friendly. Plugin is hard to translate in a compact and easy way in many languages, due to his compound nature.

  22. You can’t really translate “Plugin” to Norwegian either. “Extension” on the other hand is easilly translated to “utvidelse”, which most Norwegian computer users should understand.

    The way I see it, Plugins and Extensions are two different mechanisms. If the additional code you introduce to an application can completely change the behaviour, look and functionality of the application, “Extension” seems like a good fit. If the code lives in a very restricted area and environment of the application and can’t really do anything but add new and perhaps modify existing functionality, I think “Plugin” is a good fit.

  23. I knew F-Spot was doing the right thing :)

    Now we need an “extension” icon in gnome-icon-theme…

  24. My £0.02…

    This whole debate is around a word that describes incorporating additional functionality into the main software, be that fundamental change, minor improvements, additional ways of doing things, etc. All of these cases involve extending the capabilities of the software; you don’t plug anything in anywhere.

    Extensions is the perfect word to use, so my vote goes for Extensions. It also makes the most grammatical sense (to me anyway).

  25. Firefox differentiates extensions from plugins.
    Extensions are jars containing javascript (ie. tab mix plus, flashblock) which extend the user interface and plugins are binary only addons (flash plugin, quicktime, totem, java) which work in the backend.

  26. My first impression was stick with plugins, but after reading what everyone has to say, I think the extensions argument is really the smart way to go. Kudos to Aaron for thinking to pose the question to the community. I’m off to encourage adoption on those other bugs…

    PS: Like the new look by the way.

  27. In comment #25, Farhad Shakiba mentions GIMP. GIMP uses “plug-ins” (with the hyphen) consistently in the user interface and documentation.

    The decision to use “plug-ins” instead of “plugins” or other terms was taken several years ago after some debate. Before that, the hyphenation was not really consistent. Using “extensions” was not possible because GIMP already uses that term for something else: extensions are similar to plug-ins except that they are always active (their process is always running), contrary to the plug-ins that are only running when invoked from the menus (their process exits when they are done).

    It is possible, although unlikely in the short term, that the differences between extensions and plug-ins could disappear when the GIMP API is redesigned. But it is unlikely that GIMP will use anything else than “plug-ins” in the foreseeable future.

  28. My 0.01€:

    >What should be done IMO is to ask the GNOME Documentation team to make a decision on the name, and
    >the usability team to make a decision on the interface, and then file bugs against all modules that
    >are incosistent.

    But Firefox for example is considered part of the “Gnome suite” and does not belong to Gnome. So I think it’s better to accomodate to the conventions of it:

    * Plugins: Embeddable content.
    * Addons: Extensions and Themes.
    * Extensions: New features (but one thing I don’t know is if an Extension can bundle a Plugin).

    So another vote for Extensions because I guess most Gnome applications don’t have “Themes”, right? I believe they are handled at a GTK level.

    >Is there consideration to rename Mono.Addins to Mono.Extensions?

    However, I’m thinking now that the term “Extension” is usually used for parts of a program that can be separated and, IIRC in the case of MonoDevelop there are AddIns that are part of the core, and cannot be separated (I think that the AddIns that can be separated are inside a folder called “Extras” in the SVN repo of MonoDevelop).

    So it’s not always good to have consistency. Thus, we shouldn’t change MonoAddins to MonoExtensions and neither MonoDevelop Addins to MonoDevelop Extensions, IMHO.

    >@Alessandro: great point about localization. -1 for Plugins, +1 for Extensions.

    It happens the same in Spanish.

  29. Slightly OT I know, but any news on a release of Banshee that supports the “new” iPod classics? I f**king hate iTunes, it’s the worst piece of software I’ve ever known.

Comments are closed.