Who will win Extensions vs Plugins?

Hello everyone,

This is a lighthearted question which has occupied my mind perhaps a little too long and I want to squash it & move on with my life.

  • Why do sometimes we refer to SketchUp tools as Extensions & other times as Plugins?

  • Which one do you use and why you like it best?

Choose the winner…

  • Extensions
  • Plugins

0 voters

Note: this is meant to be silly & fun so don’t get too serious.

(I tagged this in the “Corner Bar” category, I hope you don’t mind.) I use “extension” when writing or speaking formally, because that is the term used by SketchUp’s user interface. I often think “plugin” to myself, however. :slight_smile:

3 Likes

I hadn’t really thought about it, but I guess I carried the term “plugins” with me from other software instead of what the SU developers officially call them.

1 Like

Yep the same, mainly Photoshop and After Effects etc.

1 Like

In SketchUp, Plugins is the old name. There was a Plugins Menu in SketchUp 8. I don’t remember when it changed, but it’s now Extensions. There’s still some traces of this with the folder still called Plugins and the menu is still called Plugins in the Ruby API for backward compatibility.

I use both words depending on what I feel like.

2 Likes

an Extension is a plugin that creates a SketchupExtension object…

otherwise it’s just a plugin if loaded as a file or a script if run from Ruby Console…

a .rbz may be either…

john

3 Likes

Sounds like this is a “rose by any other name” topic.

As a limey with Anglo-Saxon heritage, I would always prefer a simple short word to a pretentious longer one. Like “pretentious”. But that’s just me!

Plugin gets my vote.

2 Likes

It does? When viewing the results of the poll, it shows each vote. I don’t see ANY vote from you! :stuck_out_tongue_winking_eye:

1 Like

hmm. The nomenclature suggests to me that one is a third party creation that works within the program to some ambiguous degree and one is an officially approved addition meeting some standards set by the program administrators.
I’m not familiar enough with either to even know how they compete.

1 Like

Technically they are different things. Extensions are a subset of plugins, meaning every extension is a plugin but not every plugin is an extension.

Any Ruby file loaded into SketchUp could be a plugin but an extension needs a certain loader script, that tells SketchUp of the extension metadata such as author and description. An extension must have all its other files in single directory, by the same name as the loader script, otherwise it is not a valid extension. Other plugins sometimes have all their support files directly in the plugin folder, making it hard to fully uninstall them as you may not know what plugin a certain file belongs to, and risking clashes in case multiple plugins have support files by the same name.

6 Likes

Does this explain an essential difference between extensions in the EW and “extensions” obtained from other sources like Sketchucation? In short, anything on the EW is an extension whereas others may be plugins or extensions?

Not a rose by any other name then.

1 Like

No, there are extensions and plugins in both places and others.

1 Like

Everything in Extension Warehouse is an extension. Non-extensions don’t pass the requirements. SketchUcation and other sources can have any kind of plugins, but it seems most developers nowadays make their plugins extensions.

1 Like

You can see how Bears of Very Little Brain can get confused!

Looks like the answer to the OP is “It’s a draw with both contestants out for the count!”.

1 Like

No doubt everything has been classes and passed to be called an extension, because it is the extension warehouse after all. But I’m pretty sure there are ‘extensions’ there that are ‘plugins’ elsewhere.
However you are quite correct in that you’ll only get Extensions from the Ewarehouse but can get both from Sketchucation.

1 Like

Every extension is a plugin.

1 Like

This is a “rectangle vs square” situation. Every extension is a plugin, but not every plugin is an extension.

Plugin is the (older) generic term for Ruby code that SketchUp automatically loads as it starts.

Extension is the (newer) more specific term for a plugin that is structured in a particular way using some classes and mechanisms that were created long after plugins were added to SketchUp.

These mechanisms help SketchUp to manage the plugin code. For example, SketchUp can enable and disable extensions without any changes to the files involved. It can embed security signatures and loading policies that reduce the risk of tampering. An extension has author and similar information that can be presented in the SketchUp Extension Manager. All plugins from the Trimble Extension Warehouse are extensions (required for approval there).

For simple plugins, the equivalent (again older) technique to disable a plugin is to rename the Ruby file to something that the SketchUp loader will not recognize as valid Ruby code, e.g by changing the file extension to .rb!. A generic plugin has none of the extra information used by the Extension Manager.

3 Likes

A bit of a “meta” perspective here:

I voted for “Extension” because, conceptually, Ruby code - whether packaged in a way acceptable for the Extension Warehouse or not - extends the functionality of SketchUp. “Plugin” just doesn’t connote that - at least to me!

1 Like

Plugins are like bell bottom jeans.

1 Like

This topic was automatically closed 91 days after the last reply. New replies are no longer allowed.