webaudiomodules / api

Web Audio Modules (WAMs) API
176 stars 15 forks source link

Add a separate 'identifier' field for long-term stable identification of WAMs #19

Closed boourns closed 1 year ago

boourns commented 2 years ago

From a WAM host's perspective it is desirable to have a stable ID to identify a specific WAM.

For example, when saving presets to the database this new identifier would be used in each row to identify what WAM the preset is for.

The existing options would be to either use the WAM's URL, or the (vendor name) + (WAM name) combo that we use as the name of the AudioProcessor. I don't think either are good long-term identifiers as they are both subject to change over time. URLs change due to external pressures (website reorganization, domain name changes). Product names change frequently as a marketing tool. People's names change as well.

So this PR proposes we add a separate 'identifier' to the descriptor.json that would act like bundle identifiers in the mobile ecosystem, I suggest written like "com.company.product'. These identifiers should never be shown to the end-user (except maybe in a debugging scenario). They are used to identify this specific WAM to the host.