HISE Logo Forum
    • Categories
    • Register
    • Login

    What format do you use to distribute plugins+samples?

    Scheduled Pinned Locked Moved General Questions
    28 Posts 8 Posters 2.0k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • gorangroovesG
      gorangrooves
      last edited by

      I've been thinking a lot about what the best practice would be for delivering purchased plugins to customers. While I have experience in selling digital products for over 5 years using WooCommerce, the nature of plugins brings additional challenges to keep things as clean, tidy, and straightforward as possible.

      The objective is to deliver the best possible user experience, from purchase, through download, to installation and use.

      Here are things to consider, each presenting their own challenge.

      • Customers should perform as few actions as possible.
      • They should not have to read manuals or watch complicated videos to know what and how to install.
      • Any confusion as to what is required to be downloaded needs to be eliminated.
      • Each plugin product consists of at least 2 elements: the actual plugin and the sample library
      • Each plugin needs to be provided for a variety of platforms (Win, Mac, Linux) and a variety of formats (VST, VST3, AU, AAX)
      • Plugins need to be connected to their respective samples.
      • Serial number(s) need to be entered to unlock the plugins
      • Product bundles!

      I imagine the ideal scenario as follows:

      You select a product in the store and complete the purchase as quickly and as seamlessly as possible, without unnecessary things to fill out. You are taken to the downloads section of your automatically-created account, where you have access to all of your downloads now and in the future. Your products are displayed in a clean, uncluttered way and it is easy to pick and download what you need. Serial numbers are also provided for each product. Each product or a product bundle has a single file to download. Upon download, you click on your file and start the installer. The installer guides you through the whole process and there are no manual actions needed to be performed at the end. The installer installs the plugin formats of your choice, in the directories you specify and installs the sample library in the directory of your choice. The installer creates the text file needed to tell the plugin where the samples are located and places it in the plugin directory.
      When you start your DAW and load the plugin, you are asked to enter your serial number, which you copy+paste. The plugin is unlocked and you can start playing right away. No need to locate samples again and reload your plugin.

      An identical scenario should happen when you purchase a bundle with multiple products. The only difference is that you will be using a bundle serial number, so you only need to enter it once in a single plugin. All other plugins will be automatically unlocked.

      So, in order to make this happen, each plugin should have a single installer for each platform, which includes both the multiple plugin formats (VST/AU...) and the sample library. If you plan on delivering to 3 platforms, then 3 files will need to be added to your product listing. That means that in the DOWNLOADS section of user account, by default they will see 3 downloads for each product (Win, Mac, Linux). That can easily get out of hand, as 3 products will produce 9 visible instances, which will look like 9 products, creating unwanted confusion. A custom solution is needed to present only a single download button per product, which when pressed opens up a drop-down or pop-up to select your OS, which then downloads the relevant file.

      This dropdown/ popup system becomes even more critical if later you update your plugin and in addition to the full installer, you want to provide just the plugins installers for existing customers to use to update. Then, instead of 3 files per product, you will have 6 files per product!

      Product bundles: while WooCommerce supports bundling existing products as a single combo product, that would present a terrible UX. Instead, such bundles should be created as new products, containing all plugins and all samples into single installers.

      By having only a single file that needs to be downloaded and run in order to install a fully functional plugin, we avoid possible confusion scenarios where users download only the plugin, but not the samples (or vice versa). The more confusion we can eliminate, the better the initial impression will be, the higher the satisfaction and the less time we need wasting on support, explaining the same things over and over.

      So, the two main challenges remaining is programming installers to place sample location links and customizing WooCommerce to organize multiple downloadable files.

      Goran Rista
      https://gorangrooves.com

      Handy Drums and Handy Grooves
      https://library.gorangrooves.com

      LindonL 1 Reply Last reply Reply Quote 1
      • LindonL
        Lindon @gorangrooves
        last edited by

        @gorangrooves -- and having an authorisation system that understands both single purchases and bundles....

        HISE Development for hire.
        www.channelrobot.com

        gorangroovesG 1 Reply Last reply Reply Quote 0
        • gorangroovesG
          gorangrooves @Lindon
          last edited by

          @Lindon said in What format do you use to distribute plugins+samples?:

          @gorangrooves -- and having an authorisation system that understands both single purchases and bundles....

          I have implemented the bundle authorization to the "simple copy protection done right". Works like a charm :)

          Goran Rista
          https://gorangrooves.com

          Handy Drums and Handy Grooves
          https://library.gorangrooves.com

          1 Reply Last reply Reply Quote 0
          • A
            andioak @Lindon
            last edited by andioak

            @Lindon said in What format do you use to distribute plugins+samples?:

            1. zip your Mac Installer ON THE MAC
            2. zip your Windows installer ON YOUR WINDOWS MACHINE
            • the second of these may not be required but better safe than sorry - essentially the Mac turns out to be rubbish(very very picky) at unzipping anything

            Indeed even a simple thing like a zip-file can turn to dust between systems. But on macOS we have keka, a free and open source file-compressor, that also has 7-zip and compression grade 1-9, that also works for zip-files (and also splits files and combines during compresion/unpacking). I have tested 7-Zip for windows and one of the libraries seem to outperform the others in size of .wav files or alike. The lzma, which was around 20% smaller size for the same setting and unpacked fine on my macbook (osx 10.10).

            Keka on mac has an option called "Exclude Mac Resource Forks", that removes the .DS_store and other junk in hidden conditions. The stuff no end-user should ever see.

            Cool thing too, I checked with keka on their forum and they are fine with all developers and companies just including the app itself on their .dmg files. So no sending your users to other places to find that tool that unpacks your files. Cause let´s see a person with little computer skills try to unpack a 10-piece .zip or .7z file series. Hahaha. Yeaahh.. aaaahhhmm... SUPPORT!

            A light user manual for installing/unpacking in a pdf and you can save a huge chunk of data delivery. If you have costs for a cdn.

            d.healeyD 1 Reply Last reply Reply Quote 0
            • d.healeyD
              d.healey @andioak
              last edited by d.healey

              @andioak

              on macOS we have keka, a free and open source

              It's not. https://github.com/aonez/Keka#so-where-is-the-source-code

              I suspect it actually violates the GNU GPL since it includes libraries that are licensed under the GNU GPL (not LGPL) but maybe they are not linked in the binary or something.

              Cause let´s see a person with little computer skills try to unpack a 10-piece .zip

              If you use the built in hr compression for your samples then HISE will unpack them during the first run. A better option (which I'm looking foward to using) is to have the plugin download and install the samples directly.

              Libre Wave - Freedom respecting instruments and effects
              My Patreon - HISE tutorials
              YouTube Channel - Public HISE tutorials

              A 1 Reply Last reply Reply Quote 0
              • A
                andioak @d.healey
                last edited by andioak

                @d-healey said in What format do you use to distribute plugins+samples?:

                I suspect it actually violates the GNU GPL since it includes libraries that are licensed under the GNU GPL (not LGPL) but maybe they are not linked in the binary or something.

                Aaaaah licenses. Don´t ya just love them! :/ Proper sticks in the wheel.

                The hr compression seems like a good option. But can one just deliver with that as an archive/zip option and still use .wav or .aif in the end folder? Or is that a part of the HLAC format? Anyway, a self-unpacking zip:ish archive for cross-platform is a thing out of a wonderful dream. Its not like there aren´t a lot of stachexchange questions about it.

                d.healeyD 1 Reply Last reply Reply Quote 0
                • d.healeyD
                  d.healey @andioak
                  last edited by

                  @andioak

                  But can one just deliver with that as an archive/zip option and still use .wav or .aif in the end folder? Or is that a part of the HLAC format?

                  You could deliver a zip contains the HLAC samples (don't use raw audio as it uses more disk space for no gain and HISE sample maps seems to get confused by it). But an hr archive is the same as a zip, just specialised for HISE and the extraction tool is already built into your plugin.

                  Libre Wave - Freedom respecting instruments and effects
                  My Patreon - HISE tutorials
                  YouTube Channel - Public HISE tutorials

                  A 1 Reply Last reply Reply Quote 0
                  • A
                    andioak @d.healey
                    last edited by

                    @d-healey said in What format do you use to distribute plugins+samples?:

                    You could deliver a zip contains the HLAC samples (don't use raw audio as it uses more disk space for no gain and HISE sample maps seems to get confused by it).

                    I got an instrument that is already in use and uses .wav, I am just adding another way to play it. So multi-format is the way I am going to deliver it, which makes .wav the only option (or .aiff / pcm), for me. After all, delivering an instrument that is around 5GB plus on top of another format a user may already be using in mixes is a waste of hdd space, and web traffic / online storage for me. But for a new un-released instrument, it´s the best option.

                    If there is an issue with sample-maps and the raw audio files the only option is to solve that issue instead, cause that really makes me worried. (if that´s a bug, I sincerely hope it´s high on the list)

                    But an hr archive is the same as a zip, just specialised for HISE and the extraction tool is already built into your plugin.

                    Excellent. I will have to tinker a bit with that. If it can deliver raw audio files.

                    1 Reply Last reply Reply Quote 0
                    • gorangroovesG
                      gorangrooves
                      last edited by

                      I have not had any issues with sample maps confusing any wav files. After all, the HLAC format is only temporary. The plugin needs to extract it into the raw wav files before they are used.

                      I strongly believe that the best user experience is to have a single installer that installs the plugin and all of the samples, hooks them up to the plugin, and has everything ready to go by the time user launches the plugin for the first time. That's the route I will be taking for sure. If you leave a possibility that a user can overlook installing something (like additional samples install), you will likely have additional support requests to deal with.

                      Goran Rista
                      https://gorangrooves.com

                      Handy Drums and Handy Grooves
                      https://library.gorangrooves.com

                      d.healeyD ustkU Christoph HartC 3 Replies Last reply Reply Quote 0
                      • d.healeyD
                        d.healey @gorangrooves
                        last edited by

                        @gorangrooves said in What format do you use to distribute plugins+samples?:

                        I strongly believe that the best user experience is to have a single installer that installs the plugin and all of the samples,

                        Can't be notarized if it's more than 50GB though.

                        Libre Wave - Freedom respecting instruments and effects
                        My Patreon - HISE tutorials
                        YouTube Channel - Public HISE tutorials

                        gorangroovesG 1 Reply Last reply Reply Quote 0
                        • gorangroovesG
                          gorangrooves @d.healey
                          last edited by

                          @d-healey said in What format do you use to distribute plugins+samples?:

                          Can't be notarized if it's more than 50GB though.

                          50GB? You have a single library that large?

                          Goran Rista
                          https://gorangrooves.com

                          Handy Drums and Handy Grooves
                          https://library.gorangrooves.com

                          d.healeyD 1 Reply Last reply Reply Quote 0
                          • d.healeyD
                            d.healey @gorangrooves
                            last edited by d.healey

                            @gorangrooves

                            Not yet, but I'm working on it :) There are many libraries from the "big" developers in excess of 50GB (Hans Zimmer strings, for example, is 250GB!).

                            Libre Wave - Freedom respecting instruments and effects
                            My Patreon - HISE tutorials
                            YouTube Channel - Public HISE tutorials

                            1 Reply Last reply Reply Quote 2
                            • ustkU
                              ustk @gorangrooves
                              last edited by

                              @gorangrooves said in What format do you use to distribute plugins+samples?:

                              I strongly believe that the best user experience is to have a single installer that installs the plugin and all of the samples

                              But the user has to download everything for a simple update?

                              Can't help pressing F5 in the forum...

                              1 Reply Last reply Reply Quote 0
                              • Christoph HartC
                                Christoph Hart @gorangrooves
                                last edited by

                                @gorangrooves said in What format do you use to distribute plugins+samples?:

                                After all, the HLAC format is only temporary. The plugin needs to extract it into the raw wav files before they are used.

                                Nope, you're confusing HR1 with HLAC. HR1 is a wrapped FLAC chunk and HLAC is the actual codec that HISE supports natively. There are many advantages of using HLAC over raw wave files, faster loading times, less memory usage & disk space.

                                gorangroovesG 1 Reply Last reply Reply Quote 1
                                • gorangroovesG
                                  gorangrooves @Christoph Hart
                                  last edited by

                                  @Christoph-Hart I guess I am :)

                                  @ustk said in What format do you use to distribute plugins+samples?:
                                  strongly believe that the best user experience is to have a single installer that installs the plugin and all of the samples

                                  But the user has to download everything for a simple update?

                                  No, they don't if you provide an update as a separate installer only for the plugin. I am having a special WP plugin developed for me that will allow organizing of download files for WooCommerce into folders and subfolders. So, end-user will see one download button for their purchased product, but when they click on it, they get a pop up, so they can pick their OS platform and whether they want full installer or just the update. Such a plugin does not currently exist publicly, so as soon as the final bugs are ironed out, I will make it publicly available for free.

                                  Interested?

                                  Goran Rista
                                  https://gorangrooves.com

                                  Handy Drums and Handy Grooves
                                  https://library.gorangrooves.com

                                  ustkU 1 Reply Last reply Reply Quote 2
                                  • ustkU
                                    ustk @gorangrooves
                                    last edited by

                                    @gorangrooves that's what I thought, but does it mean new user will see full installer with old version as long as the updated plugin installer?
                                    The WP plugin you mentioned seems a good idea, although I am not working on a sample based instrument yet, but it'll come…

                                    Can't help pressing F5 in the forum...

                                    1 Reply Last reply Reply Quote 0
                                    • gorangroovesG
                                      gorangrooves
                                      last edited by

                                      @ustk The idea is to always have an up-to-date full installer (including the samples) for users installing the product for the first time and just a plugin installer for users updating from the previous version.

                                      The WP plugin I am developing will enable you to specify what is what, without creating mess and clutter. It even has support for icons for each file and folder.

                                      Here is a preview.

                                      MY ACCOUNT- downloads 3- click on folder.jpg

                                      Goran Rista
                                      https://gorangrooves.com

                                      Handy Drums and Handy Grooves
                                      https://library.gorangrooves.com

                                      ustkU LindonL orangeO 3 Replies Last reply Reply Quote 0
                                      • ustkU
                                        ustk @gorangrooves
                                        last edited by

                                        @gorangrooves That makes sense...
                                        Your plugin looks very promising :)

                                        Can't help pressing F5 in the forum...

                                        1 Reply Last reply Reply Quote 0
                                        • LindonL
                                          Lindon @gorangrooves
                                          last edited by

                                          @gorangrooves - this seems to cover two scenarios..

                                          • All new install
                                          • plugin update

                                          but misses the third:

                                          • samples only update..

                                          HISE Development for hire.
                                          www.channelrobot.com

                                          1 Reply Last reply Reply Quote 0
                                          • orangeO
                                            orange @gorangrooves
                                            last edited by

                                            @gorangrooves said in What format do you use to distribute plugins+samples?:

                                            @ustk The idea is to always have an up-to-date full installer (including the samples) for users installing the product for the first time and just a plugin installer for users updating from the previous version.

                                            The WP plugin I am developing will enable you to specify what is what, without creating mess and clutter. It even has support for icons for each file and folder.

                                            Here is a preview.

                                            MY ACCOUNT- downloads 3- click on folder.jpg

                                            Looks very useful. Is this compatible with woocommerce?

                                            develop Branch / XCode 13.1
                                            macOS Monterey / M1 Max

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            11

                                            Online

                                            1.7k

                                            Users

                                            11.8k

                                            Topics

                                            102.6k

                                            Posts