When Java on the Palm first came out, I worked up a certification practice exam program but never did anything with it. Now the topic has come up again since there are gazillions of phones with Java capability, many in the hands of people who are studying for some certification. The programming looks pretty simple - what I am wondering about is the economic model. I think I should give away the "razor" and charge for the "blades" - but how to manage the sale of an exam and get it downloaded to the user's phone? How to make a given exam run only on one specific phone so it can't be pirated? Bill
Originally posted by William Brogden: - but how to manage the sale of an exam and get it downloaded to the user's phone? How to make a given exam run only on one specific phone so it can't be pirated?
Could be wrong here, but, as far as I can tell, there's no good, runs-on-anything, kind of way to get a midlet to know any sort of unique identifier that would tie it to a particular device. Unlike on, say, a Palm app, which can get the user ID and tie a key code to that.
But personally, I've never thought that tying software to a particular device is such a good idea anyway. What if a customer gets a different phone one day, and wants to run the app on it? And you'd have to somehow get the customer to give you whatever unique identifier they have, which they probably won't know... ugh. A support nightmare!
Maybe a better solution would be to control the ability to download the app in the first place. Perhaps have all customers set up a username/password account on a web site in order to buy it. To download it, they'd have to go to a web address using their phone's browser, put in the username/password, then they could freely download any app they've purchased from you.
Would that prevent piracy? No, but you would have some amount of awareness of it. You could at least spot accounts that had more activity than normal, and you could deactivate any suspicious accounts. (Nothing would stop someone from downloading it to their desktop computer, of course.)
In the end, you have to weigh the effort and trouble of anti-piracy measures vs. the real losses expected by the piracy. At some point, you start to get diminishing returns--especially if you make the legitimate customers jump through so many hoops, they wind up cursing you. Maybe I'm an idealist, but I've always felt that a good portion of the pirates weren't going to pay for the app anyway, and that if you write a good app, and price it fairly, most people will be happy to pay. And those that don't? Well, c'est la vie.
By the way, there are services that will sell a mobile app for you, like Handango. Maybe they're worth a look--if not to use them, then to at least see how they handle the payment and provisioning.
Author and all-around good cowpoke
posted 13 years ago
Thanks for the excellent response. How about using the phone's number as an identifier? Is there any way to get at that? I dropped my cell phone account when I stopped having to travel so I am really behind the times Anybody with suggestions, please chime in! Bill
I can think of a lot of cool things that you can do with your application. You could have a credit card on file for the user, then when they had the app, they can choose to buy a certain number of questions, and later buy more questions.
I think you should look at Apress's J2ME Games book and look at the server based games chapter, I think that it could give you some cool ideas, even though your app isn't really a game, but still is.