App Name Clash
Sunday, December 18, 2022
Let's suppose there's a custom theme named CustomTheme implemented by two applications, Layers Demo and Planar Editor.
The theme directory for CustomTheme would look like the following:
CustomTheme/
meta.json
layers.json
layers_demo.json
planar_editor.json
However, the above could lead to an issue. What happens when two applications are created with the same name? The names of their JSON files would clash.
Rarity
The issue of app name clash is considered rare but the probability varies depending on some conditions. Because of software branding and trademark infringement issues, most software is uniquely named. While general names can be brand-prefixed, there's still the possibility that two different applications use the same general name.
Trademark Infringement
Most developers try to make their software names unique and memorable. This is part of software branding. As such, these brand names are typically trademarked and use of the name could be deemed a trademark infringement. It's unlikely that people will try to name their software 'Discord' or 'Photoshop' since these are trademarked names.
General Names
Not all names are trademarkable because of their generality. Names like 'Calculator' and 'Clock' are too general for one entity to declare ownership over.
Brand Prefixing
Many companies with an already-established brand name will take these general names and prefix them with their company brand, like 'Google Calendar' or 'Microsoft Word'.
Theme Type
A theme's type, custom or community, has an effect on the probability of there being an app name clash.
A custom, non-community theme is a theme used solely by the end-user that created it. This type of theme is also supposed to be capable of supporting multiple applications, but in this case, "multiple applications" is severely limited to the select few Layers apps (if more than 1 is even installed) that the user decides to implement the theme in. Of that select few, it is extremely unlikely that there exists two with the same name. The user would likely have to go out of their way and purposefully create another application of the same name as one they already have. Still, this is a possibility to consider.
A community theme on the other hand is meant to be used by many users. More applications are likely to support a community theme which also means an increased chance for a name clash as compared to a regular custom theme, albeit the chance is still unlikely considering a publicly available app will likely be subject to trademark infringement if the app name is already an established trademark.
Solution
While app name clash might be unlikely, the fact that it is still possible means that a solution should be found to circumvent it.
Extra Identifier
Another identifier could be added to the app name when storing files that use it. The issues with this solution come from the questions of how and when the additional identifier gets generated.
An application can't generate its own ID at compile-time or runtime. The app developer would have to generate this ID (likely a GUID) and supply it before compilation. It would be an extra step to ask of developers implementing Layers apps.