These are my experiences and thoughts about shareware registration/distribution. If anyone else has found and is willing to talk about solutions to these issues, I'd love hearing about it.
Having released shareware I realise how valuable code can be to a developer, but copy protection is IMNSHO something that can be a huge waste of time for a developer. The bottom line is that you're only encouraging honest people to stay honest. People who would pirate it are going to figure out how to cheat and steal it, protection or not. As a matter of fact, the more elaborate the protection, the greater challenge it is to a hacker to break your protection. Also, don't forget, there's no industry-wide reliable way to uniquely identify a device. Usernames can be changed. Serial numbers are only available on *some* Palm devices. If your application depends on a particular hardware dongle (SD card, springboard, Memory Stick, etc) that has an ID, then you could use that as your market is already limited by availability of the device. But in general, there's no immutable ID. Ideally, you can find the right psychological balance of features, price, presentation, and community so that people will *want* to register or will gain publicity for registering. You could: 1) distribute two different versions, sidestepping the whole registration requirement. 2) use one of the licensing schemes suggested on your favourite distribution site (ie, palmgear lets you distribute registered versions as above, distribute registration keys from a pool of keys, and a few others. I'm sure handango or others would have something similar). Read the agreements for the distribution sites carefully, though. Handango won't even allow you to use the word 'Suite' in the title of your application, and their terms about using handango and referring to it in your application made the hairs on the back of my neck raise) If you do decide to go with a distribution-site-specific solution, you'll be limiting the distribution sites you can use to distribute. 3) decide to go for honesty, and not copy-protect the software at all. 4) use a psycho-social approach and try to give people reasons to register and play honestly. So, to minimise the time I lost to trying to protect my code and to keep from being locked into a particular distributor, I tried to incorporate psychology and used the PORT tools from Warren Young: http://www.cyberport.com/~tangent/palm/port/ The psychology was that I actively encourage people to beam the game to others, and if those people register, then the person who beamed it will get a kick-back. (http://www.flippinbits.com/roids.shtml for the details). FWIW, this has been less successful than I'd hoped. I still feel a psychological approach is the way to go, but apparently this isn't quite the right approach. Automating registrations is difficult, unless you use one of the distributor's registration schemes. (Of course, then you're locked into that distributor too). If you distribute the program widely, you're going to have many different forms of input. The different forms of emails, even telephone or fax registrations. So, there's going to be an element of responding to your users by hand in any case. -Ken On Mon, 2002-10-28 at 02:09, Richard Coutts wrote: > I'm starting to think about how to add registration keys to my app so that > some of the features are shut off until the app is registered. Most of the > Palm apps I bought online ask for the user name on the device, so the > registration key is specific for the device's owner's name. Ultimately, I > would like to list my app at some of the palm websites (e.g., handango) > where the user could download the app. I would also like to set up my own > store (someone recommended yahoo to me earlier) where people could also > register the app. > > I'm wondering what the best way to go about this. Specifically, what apps > or code are available to generate the encrypted registration keys? When I > bought Palm apps in the past, I seem to remember having to wait a couple of > days, I think because the developer was processing the codes and mailing > them out. Is it possible to have this automated? E.g., handango or yahoo > generate the codes for me? Or, they send me the registration number > requests and an app on my machine processes them automatically? I'm just > speculating here. If someone could clue me in as to what the easiest way to > process the registration keys, I'd really appreciate it. > > The other think I'm wondering is on the device itself -- is there code > available that will check the device owner's name against the registration > key? > > Sorry for such broad questions. Any advice to steer me in a general > direction will be greatly appreciated. > > Thanks! > Rich > > > -- > For information on using the Palm Developer Forums, or to unsubscribe, please see >http://www.palmos.com/dev/support/forums/ -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
