Feeder 1.1 – Publishing

Two of the most requested features following the release of Feeder 1.0 were .Mac publishing and Secure FTP.

Publishing to iDisk is now very easy to implement thanks to Apple’s DotMacKit framework, although it’s a shame they can’t make the currently private DAVKit framework available for developers to include WebDAV support.
It’s not always understood that Secure FTP is a completely different animal to regular FTP and if you’re not writing your own FTP client, you ideally need an Open Source library to do most of the hard work for you.

Originally I was going to use libssh, but it vanished from the web for a couple of months while I was developing Feeder, so instead I turned to the brand new libssh2 by Sara Golemon. Feeder isn’t using the latest version of this, but will be upgraded to do so in the future after some more thorough testing. This library is not only very good but also licensed under a preferable BSD-style license rather than a LGPL. I like BSD licenses because they pretty much say “do what you want.” I don’t like GPL because it’s too rigid and far too hostile to commercial applications. LGPL is easier on the latter point, but it becomes a matter of principle!

The challenge in Feeder was to make these things fit together. Behind the scenes, when you click Feeder’s Publish button, you invoke one of three completely different file transfer mechanisms, but Feeder behaves the same for them all, with its built in server browser, progress bar, etc.

Feeder Publishing Progress Bar

Also, Feeder 1.1 is much more helpful when you first set up publishing for a feed. I’m not usually keen on assistants because the user never gets to stand on their own two feet, but they have their place and in this case it is more a matter of workflow. Once set up, you see the same publishing panel as when you were setting it up but without having to go through the steps that led you there.

The other big publishing feature is enclosure uploading – a feature mostly useful for podcasters. Drag the file onto the enclosure section of the edit window and Feeder shows a sheet where you can amend and confirm the upload details. Feeder then gets the other attributes (MIME type and file size) and creates a file name for the enclosure based on the filename and upload settings.

Feeder keeps a record of the last time an enclosure file was successfully uploaded and will only automatically upload the file once, although this again can be changed when you come to publish should the file have changed. Another point of interest is when Feeder has enclosures to publish it uploads them first, followed by the feed. This ensures that by the time the updated feed is online, so too are the enclosures it references.

Expect to see more refinement, server integration and publishing options in the future.

Comments are closed.