50% of software architecture is spent naming things.
I can handle the names of technical terminology (such as using Model as a better name for ModuleAndModuleWidgetFactory) but some of the more public-facing names could use some public review.
Here are the best I’ve come up with for each VCV Rack-related term:
Plugins/modules made by VCV and branded with the “VCV” logo: VCV plugins/modules
All plugins/modules made to work in VCV Rack, regardless of author: Rack plugins/modules or VCV Rack plugins/modules or plugins/modules for VCV Rack.
If you look at it with VCV as the company name and Rack as the product, VCV plugins would mean there are other VCV products that accept the same plugins. So is it imaginable that there ill be plugins that only work in the VST2 version?
Is VST only used in DAWs? Iirc not, so DAW may be the one from marketing view maybe VCV VST2-Rack or VSTRack from a tech pov. Or use something completely different 10Volt-VST or 10V-VST? Or just VCV 10Volt?
A completely different name may be the one if it is imaginable that a source code patch to Rack will not flow into the VST version or that pull requests to one product will not be accepted as they interfere with the other one.
In my mind, a “VCV plugin” is always going to instinctively refer to a plugin for VCV created by anybody rather than an official VCV-branded plugin, much like when I hear “that’s a firefox add-on” or “that’s a playstation game”
You are correct that “plugin” is a technical term, which refers to a .zip or .dll or folder. But just like a VST .dll/.dylib/.so, it’s important for the term to exist because it’s common to need to refer to it.
Yeah, I’m just suggesting a layer of abstraction to help avoid confusion for people whose expectations come from VST plugins.
Install the “Befaco Collection” versus install the “Befaco Plugin” - everyone will know the “Befaco Collection” is a plugin but doing it that way breaks the expectations of what form that plugin takes and sets new ones closer to what a VCV plugin is.
I have two groups of suggestions, each with their own rationale.
I suspect that once it makes its way into people’s DAWs, a lot of non-technical users will default to calling the version they load in their daw the ‘plugin’ version. (AFAIK the association of ‘plugin’ with VST/AU/etc plugins is very strong in the audio/music production community.) There would be some upside to leveraging that association in public facing terminology.
VCV Rack Plugin or VCV Plugin for the upcoming VST/etc version. Setting aside the issue of ‘plugins/modules’ for a moment—I discuss that next. How big of a problem is the potential confusion with Reason Rack Plugin?
Lars and Domino’s comments remind me that it would also be valuable to tackle potential confusion about the plugins/modules terminology.
VCV modules and Rack modules as the public facing name for plugins/modules.
VCV module plugin and Rack modules plugin for the technical term referring to a .zip or .dll or folder for modules. In the right context, that would still allow people to just say “plugin” to refer to .zip/.dll/folder.
That terminology would run into problems with VCV/Rack plugins that aren’t module plugins. If I understand it correctly, on Andrew’s initial proposal, “module” refers to what we load and interact with through the Rack GUI. So these would be plugins that add functionality to Rack but not in the form of modules we can load? If needed, this case could be covered by something like: add-on, or the longer non-module add-on.
That’s fine with me. I think people will informally call it “Rack plugin”, “plugin version of Rack”, or “VST version of Rack”. But I can’t control that. I’m just interested in the formal and marketing term for it. It will likely be marketed as “VCV Rack for DAWs” unless someone brings up an idea that I haven’t thought of yet.
Big enough for me to reject this option.
Re Suggestions B: I’m not interesting in changing the terminology for “plugins” and “modules”. That’s not the point of my original post.
EDIT: The definition of a Rack plugin is a shared library intended to be loaded by Rack from the plugins/ folder. The definition of a Rack module is a Module/ModuleWidget subclass pair identified by a unique slug (i.e. string ID).
I had an idea on that for some time: VCV Rack-Case or VCV RackCase. I like it because it is short, it resembles the name Rack and adds an association on something more portable like a case. But I’m no marketing guy
VCV Plugins to me would be all software created by VCV
Rack Plugins would be all plugins not created by VCV but are loaded into VCV Rack
This is an informed opinion and one which would just need to be documented well in an introduction for new users. To the uninitiated coming from the VST world plugins is what they’re aware of. After initiation modules is what they would be aware of for VCV Rack. Modular sums it up pretty well (Module).
To the initiated or uninitiated each will have the same result in the context of Rack:
“Which module is this?” insert Brand… insert Module
“Which plugin is this?” insert Brand… insert Module
“What VST is this?” VCV Rack
“VCV Rack for Daws” is the initiated way to communicate that VCV Rack is coming as a VST2. In my opinion “VCV Rack for Daws” obviously implies you need a DAW for it to work, from a marketing perspective you are already selling other DAWs and not VCV Rack as a Brand so…
VCV Plugin or VCV Rack Plugin. The later seems more appropriate here as VCV Rack is the brand, Plugin being how it is implemented. In the same way of how modules are implemented by Rack. Supposing it will have to be marked as VST2 somewhere. VCV Rack VST2
Bundles is something which is already familiar.
Befaco once understood. But how do you explain both to someone not familiar with either. One’s hardware, one’s software! You could look at tutorials of either and be able to understand both.
I think users do not think of VCV Rack as “The Rack product from VCV” (and it’s probably fine that way if Rack will always be the flagship product)
With my few friends who use it but aren’t part of VCV communities, we always call it VCV or VCV Rack, never Rack. Rack is a generic word that’d confuse my friends who use Reason (my main DAW), which has always made the studio rack metaphor a key part of its identity.
modules/plugins should be named module or module by [vendor] or module by [vendor] for VCV Rack, because a Rack module for VCV Rack is a Rack module for VCV Rack regardless of the developer.
VCV Rack for DAWs could be simply named VCV Rack Plugin and Rack itself could be named VCV Rack Standalone or simply VCV Rack as it is now. I don’t think Propellerhead has the copyright on the word Rack or even Rack plugin or really do they?
bundles could be named module bundles or module sets
A user has no interest of complicated naming schemes. A user enters your website or shop, looks for versions (standalone, vst, au…) and download/buys the application/plugin/module.