I bought a Sansa Clipa couple of days ago because I didn’t want to carry around my cell phonejust to listen to podcasts.
A ‘feature’ of the Clip became a major pain for my podcast listening though. It will take all MP3:s that has ‘podcast’ as category and treat them in a special way. It will do that even if they are referenced in a playlist. It is realy annoying to find the playlist created by jsiPodFetch empty on the player.
Do what you can to support the free software you are using.
I estimate the user base of my free software to about 1000, but over the years I have only been in contact with a hand full of them. It would help me a lot with the future development if I got to know what the users want to have and what they don’t like about it right now. A friendly note or a feature request means a lot to me and I’m quite sure other developers feels like that too.
I use an overridden button for the flat buttons in jsiPodFetch and I had forgotten to call InitializeComponent in the constructor that gets called by the designer. This has the nasty side effect of making the control disappear from the form.
The underlying error was corrected before I released 8.04 but I missed one form when I checked for missing buttons; The form to confirm a new feed.
Old users probably never noticed since they have their feeds configured already, but new users got a modal form without button or control box.
Update: Now there is a working installer.
The latest release of jsiPodFetch has a broken installer. I uploaded the previous version while I’m fixing the error.
I had forgotten to add some files to the install package. The application will load, but it will have a blank main window.
I am really sorry for any inconveniences this has brought you.
I will re-release 8.04 later today.
Today I launched the Swedish sister site of jsiSoft. It is at jsi.se and all of my software that is translated to Swedish will be published there.
At the moment the screenshots for jsiPodFetch are still in English but they will be replaced real soon.
I just uploaded a new release of jsiPodFetch.
CHANGE LOG 7.44 - Enabled two simultaneous downloads. Might be more in the future. - Made it possible to stop copying files to the player while syncing. - Feed URL is now emptied after a click on add. - Fixed a bug that prevented some feeds to be verified. - All actions should have a wait cursor now. - A copy of the settings file will now be made when loaded successfully.
In my last post I wrote about my corrupted settings file in jsiPodFetch. In the long term I intend to save the state in a different way from what I am doing now. To minimize the discomfort if/when the current solution fails I started to make a copy of the settings file if it loads successfully on application start. So the worst case scenario of failing settings is now that the last session is lost.
The settings file for my installed jsiPodFetch was corrupted today. I probably turned of my computer while it was still saving the file. Since I know the inner workings of the application there wasn’t much of a hassle for me, but since application didn’t start at all I thing other users will just stop using it if this happens.
At the moment I store my settings in a serialized class. One of the properties of the settings class is a typed DataSet.
The last release wasn’t thoroughly tested and this morning I found a nasty bug that prevents the application to start on its first run.
That is a god way to get rid of users, isn’t it?
I added code in the last release to check for the device name of the player. That way the application can find the player even if the drive letter is changed. If that happens I replace the last drive letter with the current drive letter in the player path setting.
Today I added the Linux radio show lugradio to my ever growing feed list in jsiPodFetch. Since I am very close to filling all available time now I think it will take quite long for me to catch up, but I’ll give it a try.
Today I added Rubiverse, a podcast about Ruby, to my jsiPodFetch feed list.
I’ve recently learned some Ruby and I like it a lot. I will definitively install IronRuby when it is properly released. Currently I’m using ‘real’ Ruby for my jsiPodFetch build scripts and for aggregating data from my weblogs. It feels a bit awkward to install something like Ruby just to do some scripting in Windows though, maybe I should look at Powershell instead.
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.
My list of new shows in jsiPodFetch is getting very short. It will be empty before the weekend. So I need to find some new podcasts to subscribe to.
Currently I subscribe only to software related podcasts, but I might try to find something else now. I listen to podcasts mainly on my commute to/from work so it doesn’t really bother me that the current selection is a bit single minded.
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
The current job is about defining/refining and documenting a system that is a couple of years old. I was a big part in building it initially but it has grown without much control since then. As I see it, the main reason it is hard to get a grasp of it now is because there is (or has never been) a central role to consolidate the development. For each little project there has been a new project manager who only wanted to do his part at the lowest cost or him.
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.
Today I did the first service release of my podcast downloader; jsiPodFetch. The new version is 7.35 (I use year and week for version numbering) and this is what i have fixed since 7.33:
App disappears when minimizing.
Blue ‘light’ turned of after first downloaded item. Even if there were more.
It takes to long to open the initial window.
Items in new feed wasn’t downloaded until restart of application.
Now that I have released jsiPodFetch I have some marketing to do. It is definitively a task I am not comfortable with. I even find it hard to explain what the program does in an understandable way.
In reality the application doesn’t do very much and that is what I like the most about it. I think (hope) that people will be able to use it without much explanation.
…anyway; the itch I had was that I had trouble copying podcasts to my phone and keep track of what I had listened to.
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.
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 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.