{"id":221,"date":"2006-05-26T04:57:57","date_gmt":"2006-05-26T03:57:57","guid":{"rendered":"http:\/\/reinventedsoftware.com\/blog\/2006\/05\/26\/appcasting-sparkle-and-feeder\/"},"modified":"2006-05-26T05:21:10","modified_gmt":"2006-05-26T04:21:10","slug":"appcasting-sparkle-and-feeder","status":"publish","type":"post","link":"https:\/\/reinventedsoftware.com\/blog\/2006\/05\/26\/appcasting-sparkle-and-feeder\/","title":{"rendered":"Appcasting, Sparkle and Feeder"},"content":{"rendered":"<p>A neat use of RSS that I completely forgot to mention in my CocoaRadio interview is appcasting (and I am absolutely kicking myself).<\/p>\n<p><a href=\"http:\/\/connectedflow.com\/appcasting\/\">Appcasting<\/a> is a term coined by Fraser Speirs to describe the delivery of software via RSS. It works the same as podcasting: the RSS enclosure tag is used to point to the downloadable file but instead of an audio file, this is an application. <\/p>\n<p>I&#8217;ve been running an appcasting feed for Reinvented Software since releasing Feeder in February 2005. However, the coolest implementation of appcasting in the whole world is Sparkle.<\/p>\n<p><a href=\"http:\/\/www.andymatuschak.org\/pages\/sparkle\">Sparkle<\/a> is a Cocoa framework by Andy Matuschak that can make applications self-updating, uses appcasting to discover new updates, displays release notes and plenty more. It is made available under a MIT license. Even better, Feeder is recommended in the documentation. \ud83d\ude00<\/p>\n<p>I have been planning to switch my apps over to Sparkle for some time now and it&#8217;s next on my list, honest. <\/p>\n<h4>Creating an Appcasting Feed with Feeder<\/h4>\n<p>To create an appcasting feed you will need to tweak Feeder&#8217;s default template a little. Here&#8217;s how to create a new feed, whether or not you are using Sparkle:<\/p>\n<ul>\n<li>Choose File > New Feed from the menu.\n<ul>\n<li>Enter the name of the feed (e.g. &#8220;Feeder Updates&#8221;).<\/li>\n<li>Put the URL of your software&#8217;s product page in the Link field.<\/li>\n<li>Put something appropriate in the Description.<\/li>\n<\/ul>\n<\/li>\n<li>Click Continue.\n<ul>\n<li>With the Default template selected, click the Customize button.<\/li>\n<li>Check the checkbox next to the Enclosure fields.<\/li>\n<li>Click Save.<\/li>\n<\/ul>\n<\/li>\n<li>Click Continue.\n<ul>\n<li>Check the filename and location of the feed is right for you and click Finish. A new item window will open.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><b>Tip:<\/b> if you keep a copy of your site on disk, and would prefer to save the feed in the structure of that site rather than in Feeder&#8217;s library, use Choose Another Location and select the folder where you want the feed kept. You should also enter a web-friendly filename in this case.<\/p>\n<h4>Editing a New Version<\/h4>\n<p>Each item in the feed refers to a new version of your software. You can create new items in your feed by clicking New Item in the toolbar.<\/p>\n<ul>\n<li>Enter the name of update in the Title field (e.g. &#8220;Feeder 1.3.4 Released&#8221;).<\/li>\n<li>Enter a link to your software&#8217;s product page or wherever in the Link field &#8211; you need to enter some sort of link or the feed won&#8217;t work in Firefox&#8217;s Live Bookmarks or OmniWeb.<\/li>\n<li>Click the disclosure arrow next to Enclosure field to show the enclosure fields.\n<ul>\n<li><img decoding=\"async\" src=\"https:\/\/reinventedsoftware.com\/blog\/images\/appcast-enclosure.jpg\" width=\"269\" height =\"193\" alt=\"Enclosure editor in Feeder\" align=\"right\"\/>Drag and drop your downloadable file (Sparkle supports zip, tar, tbz, tgz, or dmg) onto the enclosure area to have Feeder upload it when you publish your feed.\n\t<\/li>\n<li>Alternatively you can enter the URL, click the action menu to the right of the URL field and choose Fetch Attributes from Web (or Fetch Attributes from File if it&#8217;s not yet online) to get the type and the length.<\/li>\n<\/ul>\n<\/li>\n<li>Enter the release notes in HTML in the Description field.<\/li>\n<li>Close the item window to save the item.<\/li>\n<\/ul>\n<p>You can then either click Publish in the toolbar to upload your feed or if you don&#8217;t want to publish your feed with Feeder, the XML file is always up to date on disk &#8211; you can just drag the feed from Feeder to your FTP client, command line or wherever to upload.<\/p>\n<p>And if you&#8217;re a developer and using Feeder, or thinking of using it, I&#8217;d love to hear from you. Leave a comment or email steve at this domain. Thanks!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A neat use of RSS that I completely forgot to mention in my CocoaRadio interview is appcasting (and I am absolutely kicking myself). Appcasting is a term coined by Fraser Speirs to describe the delivery of software via RSS. It works the same as podcasting: the RSS enclosure tag is used to point to the [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9,2],"tags":[],"class_list":["post-221","post","type-post","status-publish","format-standard","hentry","category-feeder","category-software-development"],"_links":{"self":[{"href":"https:\/\/reinventedsoftware.com\/blog\/wp-json\/wp\/v2\/posts\/221","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/reinventedsoftware.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/reinventedsoftware.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/reinventedsoftware.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/reinventedsoftware.com\/blog\/wp-json\/wp\/v2\/comments?post=221"}],"version-history":[{"count":0,"href":"https:\/\/reinventedsoftware.com\/blog\/wp-json\/wp\/v2\/posts\/221\/revisions"}],"wp:attachment":[{"href":"https:\/\/reinventedsoftware.com\/blog\/wp-json\/wp\/v2\/media?parent=221"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/reinventedsoftware.com\/blog\/wp-json\/wp\/v2\/categories?post=221"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/reinventedsoftware.com\/blog\/wp-json\/wp\/v2\/tags?post=221"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}