Use a custom file extension for add-ons
Add-ons are ZIP files. Normally when you download a ZIP file, you unzip it, it's just the natural next step. But if you unzip an add-on, you've "ruined" it in a sense: you can't install it. This is confusing and counterintuitive.
It would be helpful to use a special extension for add-ons and other extensions – something like .bext or whatever. This would make it clear to the user that the file is a Blender extension, and not something to be unzipped to access the add-on. And the custom extension would make it possible to install the add-on by just double-clicking it.
To be clear, it would still be a ZIP file, just like any other add-on. Only the extension would be different. And naturally Blender should still be able to install add-ons with the .zip extension.
3 Comments
Countless other programs do the same so it makes sense but I wonder if it would be worth the confusion and questions it would engender especially for beginners, and the soft compatibility break with older versions ("Install from Disk" filters for *.zip and *.py, so older versions of Blender would not see *.bext files so there would be a painful period before everyone caught up with the times)... Though I personally would appreciate the visual and organizational differentiation with non-addon zip files; it's quite often that I can't remember if a zip file I have is some asset library I've downloaded or an addon I need to install etc...
Would also prevent "some" web browsers (cough cough Safari) to automatically unpack them.
Not that bad idea actually. Modo for instance used/use .lpk which basically is a zip file but tied to modo so opening it - opens modo and installs it (no accidental unpacking).
And yet still can be unpacked easily. The internal index file can specify what it is and where it should go (assets, plugin, etc.)
Excerpt from SDK.
"An .lpk installer file is just a zip file of a kit’s contents. When users drag and drop the lpk file onto an open modo window, modo will unpack the contents based on a special index.xml file included with the kit contents."