9 Replies Latest reply on Apr 21, 2010 11:33 PM by c.pfaffenbichler

    Is it worthwhile to sell actions?

    Rydiant

      I've developed a series of actions that produce effects like some commercial plugins. Because the quality of output compares well (and in some ways surpasses what's already out there,) I think users would be willing to pay for the actions at a fraction of the cost of a plugin alternative.

       

      I've put two months of my own time into these actions already. Could they make money or would selling them amount to nothing but wasted time and effort?

       

      I'm concerned about piracy, of course, but moreso about theft of the methods these actions use. Unlike a coded plugin, of course, the recipe behind an action is open. It could be imitated and given away for nothing. Even worse, it could be used for others' profit.

       

      I've seen hundreds of actions available for free, but far less for sale. How much of a market is there for Photoshop actions? Do action publishers have any means of protecting their work?

        • 1. Re: Is it worthwhile to sell actions?
          xbytor2 Level 4

          Some people do sell actions and enough do it that there must be some kind of market for it.

           

          But you can't prevent somebody from posting your action on a website for others to use.

           

          Check around with other people selling actions and see how they approach the problem.

           

          One possible solution is to translate your actions into javascript. I have code that does that.

          Then add a bunch of crypto-code to authenticate and authorize someone to use the action.

          And, after you have all of that worked out, you translate the javascript file(s) into binaries (JSXBIN).

          It's a binary format that nobody has bothered to reverse engineer. It's unclear if it's also encrypted,

          but it's obscure enough that it provides yet another barrier to someone discovering your secret

          sauce.

           


          If your primary worry is hiding your secret sauce, just do the ATN->JSX->JSXBIN translation

          and skip all of the crypto stuff. Getting crypto right is very difficult to do right. I've done it

          before, most recently in an AIR app, and it's painful.

          1 person found this helpful
          • 2. Re: Is it worthwhile to sell actions?
            Michael L Hale Level 5

            I don't know about the size of the action market.

             

            There is not way I know of to protect an action. You might be able to convert the actions to scripts. But there is only limited protection for scripts. By using jsxbin( binary format ) and wrapping your code with suspendHistory() you could better hide the 'recipe'. There doesn't seem be much that can be done about piracy.

             

            And the binary format has some problems. It somethimes fails if encoded in a different version than the one use to run the script. And some cross platform issues along the same lines.

            1 person found this helpful
            • 3. Re: Is it worthwhile to sell actions?
              c.pfaffenbichler Level 9
              about theft of the methods these actions use

              Well, if it’s possible to do in Photoshop it seems not extremely likely that

              • you are the only one to have found/utilized that method

              • you can claim property to any method therein, so »theft« might be an improper term here.

               

              Anyway, even with Scripting steps can be seen in the History; so you could add an additional level of obfuscation by operating on a copy, tranferring the affected layers back to the original and closing the copy without saving.

              But the History Log can circumvent that, so hiding your methods may simply be out of reach here.

               

              Edit: I was unaware of the option to »suspendHistory()« that Michael mentioned.

              • 4. Re: Is it worthwhile to sell actions?
                Rydiant Level 1

                 

                Thanks, folks. Some interesting ideas here.

                 

                It sounds like action authors might as well forget about copy protection, too, unless they wrap their code in smoke and mirrors. And as comfortable as I am using Photoshop for art, learning Javascript and then converting the code into a binary might be the final barriers to hiding the 'magic' in these actions. Ha. At the least, learning such a different skill could impose a huge delay on getting the project out.

                 

                Code that translate actions into Javascript sounds worthwhile, especially with the 'suspendHistory' bit. I can't help but be curious. How does that work?

                • 5. Re: Is it worthwhile to sell actions?
                  xbytor2 Level 4

                  >

                  Code that translate actions into Javascript sounds worthwhile, especially

                  with the 'suspendHistory' bit. I can't help but be curious. How does that

                  work?

                  >

                  >

                  This script converts an Action into a JavaScript file.

                   

                  http://ps-scripts.cvs.sourceforge.net/viewvc/checkout/ps-scripts/xtools/apps/ActionToJavascript.jsx

                   

                  You would just need to wrap the 'main()' call in a

                  Document.suspendHistory().

                   

                  It should work without a problem but I haven't actually done it myself.

                   

                  -X

                  • 6. Re: Is it worthwhile to sell actions?
                    Rydiant Level 1

                    Thank you.

                     

                    I looked at the code, just to see what goes into Javascript. Yikes. I can see a lot of it would be a matter of learning the syntax and translating what these actions do into said syntax, but it's way over my head now.

                     

                    I'l give the script a shot and see what comes of it.

                    • 7. Re: Is it worthwhile to sell actions?
                      Rydiant Level 1

                      Oh, and to c.pfaffenbichler, I appreciated your reply, too. I wanted to mark all the replies as helpful, but once I tagged two the only option on yours was 'correct answer.' You've all been helpful and there's no single correct answer.

                      • 8. Re: Is it worthwhile to sell actions?
                        xbytor2 Level 4

                        If you run ActionToJavascript and specify the "Vignette (selection)" action from the Default Actions set, you end up with code like this at the bottom of the file:

                         

                         

                        Vignette_selection.main = function () {
                          Vignette_selection();
                        };
                        
                        Vignette_selection.main();
                        

                         

                         

                         

                        To make suspend the recording of history steps while the script is running, you need to change it to this:

                         

                        Vignette_selection.main = function () {
                          if (app.documents.length == 0) {
                            return;
                          }
                          var doc = app.activeDocument;
                          doc.suspendHistory("Vigenette (selection)", "Vignette_selection()");
                        };
                        
                        Vignette_selection.main();
                        

                         

                        -X

                        • 9. Re: Is it worthwhile to sell actions?
                          c.pfaffenbichler Level 9

                          No problem.

                           

                          And if you are serious about dispensing automations of tasks (for money or for free) I would definitely recommend looking into Scripting, because that goes quite a ways beyond what one can achieve with Actions – the dialogs alone offer interactivity unattainable with Actions.