This article will describe how I have implemented license keys in jsiPodFetch. I hope it will help someone else trying to do this. It would also be nice if someone reading this gave me feedback if this solution doesn’t work in practice since I haven’t analyzed this solution thoroughly enough to swear by it, but I think it will work.
Through out this code there are places that are open for variation.
I will probably start differencing the functionality for registered and unregistered users of jsiPodFetch. Since it doesn’t do much there is not many functions to take out. I will start by directing unregistered users to a downloading page when there are upgrades instead of downloading the new installer automatically. Nag screens are also a viable solution, but I will give that a second thought. Nag screens has converted me from a free rider to a paying customer some times.
I just did a new release of jsiPodFetch.
Unless I get distracted by user reported errors the next release will include support for downloading media via BitTorrent.
CHANGE LOG 7.37
Fixed an error because of mismatch between the meta data and the file system that could happen if a user for some reason killed the process in the wrong millisecond.
Added call in uninstaller to remove jsiPodFetch related data
I encountered a couple of severe errors in jsiPodFetch this week so there was a new release yesterday.
Changes in 7.36
When adding new feed it didn’t show up in the list. Don’t download items marked as done. Woops; If a feed was deleted while one of its files were on the player; the app couldn’t display any items. Added a content menu to the tray icon. Added a play button when an item is selected so that one can listen to the media on the PC Extended tooltip on ‘blue light’ when downloading content.
At last I have released a beta of jsiPodFetch:
Make it easier to listen to podcasts with your phone or media player.
jsiPodFetch will download the audio files from your podcast RSS feeds and create a playlist for optimal listening order.
Downloaded media is stored on your PC until you mark them as done.
jsiPodFetch is in beta and can be downloaded here.
More information and documentation will be provided shortly.
My upcoming shareware application is almost ready. There is some more testing to be done in Windows 2000 and Windows XP. I am also going to try to run it in Ubuntu using Mono, but that will come after the initial release. I’m arguing with myself about whether I should implement the GUI in WPF in a future release or if I should stay with WinForms so that I can run with Mono.
In light of the recent controversy of using plugins in Visual Studio Express and getting some inspiration after listening to the DotNetRocks episode with Christopher Wille on SharpDevelop I thought I should give SharpDevlop a chance again. I am working on two utilities that I plan to release as shareware and as I do not want to rely on tools supplied by my employer I have been using Visual Studio Express until now.
Since I’m going to release the software as shareware I have to come up with a good incentive for the users to pay for it. At the moment I’m trying to decide if I should start showing ads when the trial period is over or if I should just make it obvious that they are using unpaid software. Ads could create som revenue, but it might equally well make people sick of the application.
I’ve been hearing, reading and thinking a bit about discoverability lately.
This essay sums it pretty well. He goes into some discussion about limiting the choices by prioritizing different features and making basic decisions for the user. Like making the stearing wheel more discoverable than the fuse box.
I think that making these decisions are not only about usability they are really the decisions that differentiates you from your competition.
I’ve got a couple of ideas for other programs so I registered a domain (jsisoft.com) where I can host them instead of one domain per application which probably would be better from a marketing perspective. I will prefix all the program names with ‘jsi’ to (hopefully) avoid other peoples trademarks.
It’s probably a couple of weeks of development time left before I make it public, but I have got the plumbing with paypal from jsisoft.
I’ve started developing a small application that I’m going to try to sell as shareware. I don’t think it’ll make me rich, but it would be fun to have the web hosting bills paid and the ability to by an occasional toy.
There is a lot more to do when the program is to be for sale than releasing it on SourceForge. That is perhaps an unfair attitude towrds open source, but I think people have a greater tolerance for weirdness if they didn’t pay for the application.