Thinking About Product Registration

Saturday, March 31, 2007

My first Cocoa application is not even in beta yet, but hopefully it will be soon. I am planning on charging for it, so I’ve been thinking about a product registration mechanism that will allow purchasers to convert the demo version to a fully-enabled version. I’ve done this once before for my Safe Place application, but that was written with 4D, not Cocoa. Although I can reuse the algorithms I developed for it, and also the PHP registration generating code, there’s no code I can reuse in my Cocoa application.

As with most software decisions, I can either write my own code, or use someone else’s. My first choice is to use an existing solution. But there are only a few options available, and there’s no obvious “best” choice.

The Contenders

The easiest solution would probably be to integrate an existing registration engine from either eSellerate or Kagi. They both offer code libraries you can drop into an existing Cocoa application to add an integrated web store. So in addition to adding a registration scheme, you also take care of integrating it with your online store.

Another option is the AquaticPrime framework. This is an open source Cocoa framework from Lucas Newman that takes advantage of RSA encryption to generate license keys. It also includes the PHP code I’ll need to generate the license codes, so it looks like it would be really quick to implement.

Option three is to write something from scratch. It would probably be a lot of work, but it might also be kinda fun. And being a control freak, it would allow me to implement a registration scheme with exactly the features I want. But is it worth the time when I should be working on my product?

The Plan

So over the next few days I’m going to investigate these options. Hopefully I can come up with a good registration solution for my new product.

3 Comments