Ooo! I've wanted to see this happen for a long time! hAtom + Sparkle is a *fantastic* application of Microformats. I agree that hatom is the way forward but also think that hAppcast would be a good idea to explore.

I've created the following page to kick things off:

http://microformats.org/wiki/ appcast-brainstorming

Looking forward to your contributions. I'll add more when I'm on a real computer.

Chris

Sent from my iPhone

On Jul 26, 2007, at 12:15 PM, "Denis Defreyne" <[EMAIL PROTECTED] > wrote:

Hello list,

I have a Downloads page, which I would like to mark up in such a way that
Sparkle (<http://sparkle.andymatuschak.org/>), an application update
framework, can use the HTML page (as well as an RSS feed) to determine
whether there are application updates, present the version history, and
download the update as well as install it.

I have a few ideas already, but I'd love to get some feedback so I can make
this better.

Sparkle currently relies on an RSS feed with a few extra attributes for version checking. This results in content duplication, though: both the RSS feed and the downloads page contain very similar data. Only maintaining the HTML page would mean less work, and less chance of syncing errors between
the feed and the page.

As for the way the HTML page would be structured… this is more or less what I have in mind: I'd use hAtom to mark up the page. Every application version
would be in its own hentry, with a rel-enclosure link to the actual
download, and the version history in the entry-content.

Sparkle can use some extra metadata, though: MD5 sums, DSA signatures, and the application version (the latter is mandatory). The application version could be marked up using a sparkle-version class, perhaps, but the MD5 sum
is a bit harder: I'd need something bigger than just rel-enclosure.

Here's a quick example of what this could look like:

  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "
http://www.w3.org/TR/html4/strict.dtd";>
  <html>
      <head>
          <title>Appcast</title>
      </head>
      <body>
          <h1>Appcast</h1>
          <div class="hentry">
              <h2 class="entry-title">Adium <span
class="sparkle-version">1.0.4</span></h2>
              <p>Updated on <abbr class="updated"
title="2007-06-20T18:00+01:00">24 June</abbr>.</p>
              <div class="entry-content">
                  <ul>
<li>Fixed a crash introduced in 1.0.3 which could occur when
accounts disconnected or status changed</li>
<li>Fixed group chat when message history is enabled</li>
                  </ul>
              </div>
              <p><a href="http://adiumx.cachefly.net/Adium_1.0.4.dmg";
rel="enclosure">Download</a>. MD5 sum: <span
class="sparkle-md5sum">0f182a2c88373e6d77c69fa15c910f08</span>.</p>
          </div>
      </body>
  </html>

In this example, I've chose to make the sparkle-md5sum property part of the hentry, which would mean that one hentry can unfortunately have only one
md5sum and thus one download, and I'm not happy about that.

(I've also left out the author in the example above, mostly because it makes
the example a bit easier to read.)

I've been working on a patch for Sparkle which adds very basic support for
hAtom, and it's looking good. Before I continue, I'd love to get some
feedbacks on the ideas outlined above.

Regards,

Denis

_______________________________________________
microformats-discuss mailing list
[email protected]
http://microformats.org/mailman/listinfo/microformats-discuss

_______________________________________________
microformats-discuss mailing list
[email protected]
http://microformats.org/mailman/listinfo/microformats-discuss

Reply via email to